<html>
    <head>
        <script type="text/javascript" src="../../../../x3dom-include.js"></script>
        <title>Interpolators</title>
    </head>
    <body>
        <x3d id="x3d" width="800px" height="600px">
            <Scene>
                <worldinfo info="&quot;generator:Khronos Blender glTF 2.0 I/O&quot; &quot;version:2.0&quot; " title=""></worldinfo>
                <transform def="glTF_NODE_Cube" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" translation="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube">
                    <shape DEF='box'>
                        <appearance>
                            <physicalmaterial def="glTF_MATERIAL_Material" basecolorfactor="0.800000011920929 0.800000011920929 0.800000011920929 1" metallicfactor="0" roughnessfactor="0.5" emissivefactor="0 0 0" alphamode="OPAQUE" alphacutoff="0.5" model="roughnessMetallic" diffusefactor="1,1,1,1" specularfactor="1,1,1" glossinessfactor="1" normalspace="TANGENT" normalbias="-1,-1,1" normalscale="1" unlit="false" id="gltf__glTF_MATERIAL_Material"></physicalmaterial>
                        </appearance>
                        <box></box>
                    </shape>
                </transform>
                <transform translation="0.18540644645690918 5.903861999511719 8.732584953308105" rotation="0.20594217605982237 0.9206975356162143 -0.3315174616463829 1.9262736017365727" scale="1 1 0.9999999403953552" def="glTF_NODE_Light" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Light"></transform>
                <transform translation="0.31374117732048035 4.958309173583984 29.236623764038086" rotation="0.9999999405777426 0 0 1.5009828114031196" scale="1 0.39365354180336 1" def="glTF_NODE_Camera" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Camera"></transform>
                <Viewpoint position="0.01234 4.35115 17.89388" description="defaultX3DViewpointNode"></Viewpoint>
                <transform translation="-3.2963297367095947 0 0.00006461143493652344" def="glTF_NODE_Cube.001" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.001">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="3.3401193618774414 0 0.008944988250732422" def="glTF_NODE_Cube.002" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.002">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="0 3.356412410736084 0" def="glTF_NODE_Cube.003" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.003">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="3.33506178855896 3.356412410736084 0" rotation="0 0 -1.0023276270030872 0.013336450767014745" def="glTF_NODE_Cube.004" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.004">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="-3.311399221420288 3.356412410736084 0" rotation="0 0 -1.0000243095097543 0.07853791698275403" scale="0.9999999403953552 0.9999999403953552 1" def="glTF_NODE_Cube.005" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.005">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="0 6.665226459503174 0" def="glTF_NODE_Cube.006" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.006">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="3.3051798343658447 6.734194278717041 0" def="glTF_NODE_Cube.008" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.008">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="-3.2975807189941406 6.958913326263428 0" def="glTF_NODE_Cube.009" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" rotation="0,0,0,0" scale="1,1,1" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Cube.009">
                    <shape USE='box'></shape>
                </transform>
                <transform translation="0 -1.7941787242889404 1.0036747455596924" rotation="1.0000001343588656 0 0 1.57079619243604" scale="4.218648433685303 1 0.3652837574481964" def="glTF_NODE_Plane" render="true" visible="true" bboxcenter="0,0,0" bboxsize="-1,-1,-1" bboxdisplay="false" bboxmargin="0.01" bboxcolor="1,1,0" center="0,0,0" scaleorientation="0,0,0,0" id="gltf__glTF_NODE_Plane">
                    <shape>
                        <appearance>
                            <physicalmaterial def="glTF_MATERIAL_Material.009" basecolorfactor="1 1 1 1" metallicfactor="0" roughnessfactor="0.5" emissivefactor="0 0 0" alphamode="OPAQUE" alphacutoff="0.5" model="roughnessMetallic" diffusefactor="1,1,1,1" specularfactor="1,1,1" glossinessfactor="1" normalspace="TANGENT" normalbias="-1,-1,1" normalscale="1" unlit="false" id="gltf__glTF_MATERIAL_Material.009">
                                <imagetexture origchannelcount="2" flipy="false" containerfield="baseColorTexture" url="l.jpg" repeats="true" repeatt="true" scale="true" crossorigin="" channel="0" hidechildren="true"></imagetexture>
                            </physicalmaterial>
                        </appearance>
                        <box></box>
                    </shape>
                </transform>
                <timesensor loop="true" cycleinterval="1.6666666666666667" def="glTF_ANIMATION_0_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_0_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_0_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="STEP"
                    duration="1.6666666666666667"
                    key="0.025, 0.25, 0.525, 0.75, 1" set_fraction="0"
                    keyvalue="1, 1, 1, 0.5, 0.5, 0.5, 1, 1, 1, 0.5, 0.5, 0.5, 1, 1, 1" id="gltf__glTF_ANIMATION_0_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_0_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_0_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_0_INTERPOLATOR_0" tofield="set_scale" tonode="glTF_NODE_Cube"></route>
                <timesensor loop="true" cycleinterval="1.6666666666666667" def="glTF_ANIMATION_1_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_1_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_1_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="LINEAR" duration="1.6666666666666667" key="0.015, 0.15, 0.315, 0.45, 0.6" set_fraction="0" keyvalue="1, 1, 1, 0.5, 0.5, 0.5, 1, 1, 1, 0.5, 0.5, 0.5, 1, 1, 1" id="gltf__glTF_ANIMATION_1_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_1_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_1_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_1_INTERPOLATOR_0" tofield="set_scale" tonode="glTF_NODE_Cube.001"></route>
                <timesensor loop="true" cycleinterval="1.6666666666666667" def="glTF_ANIMATION_2_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_2_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_2_INTERPOLATOR_0" _buffer="interpolation.bin"
                    interpolation="CUBICSPLINE"
                    duration="1.6666666666666667"
                    key="0.025, 0.25, 0.525, 0.75, 1" set_fraction="0"
                    keyvalue="0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0.5, 0.5, 0.5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0"
                    id="gltf__glTF_ANIMATION_2_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_2_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_2_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_2_INTERPOLATOR_0" tofield="set_scale" tonode="glTF_NODE_Cube.002"></route>
                <timesensor loop="true" cycleinterval="1.7083333333333333" def="glTF_ANIMATION_3_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_3_TIMESENSOR"></timesensor>
                <orientationinterpolator def="glTF_ANIMATION_3_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="STEP" duration="1.7083333333333333" key="0, 0.2439024, 0.5121951, 0.7317073, 1" set_fraction="0" keyvalue="0, 0, 0, 0, 0, 0, -1, 0.7854, 0, 0, -1, 1.5708, 0, 0, -1, 2.35619, 0, 0, -1, 3.14159" id="gltf__glTF_ANIMATION_3_INTERPOLATOR_0">
                </orientationinterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_3_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_3_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_3_INTERPOLATOR_0" tofield="set_rotation" tonode="glTF_NODE_Cube.003"></route>
                <timesensor loop="true" cycleinterval="1.7083333333333333" def="glTF_ANIMATION_4_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_4_TIMESENSOR"></timesensor>
                <orientationinterpolator def="glTF_ANIMATION_4_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="CUBICSPLINE" duration="1.7083333333333333" key="0, 0.2439024, 0.5121951, 0.7317073, 1" set_fraction="0" keyvalue="0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.00004, 0.09581, 0, 0, -1, 0.7854, 0, 0, -1.00004, 0.09581, 0, 0, -1.00004, 0.07094, 0, 0, -1, 1.5708, 0, 0, -1.00004, 0.07094, 0, 0, -1.00001, 0.10068, 0, 0, -1, 2.35619, 0, 0, -1.00001, 0.10068, 0, 0, 0, 0, 0, 0, -1, 3.14159, 0, 0, 0, 0" id="gltf__glTF_ANIMATION_4_INTERPOLATOR_0">
                </orientationinterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_4_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_4_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_4_INTERPOLATOR_0" tofield="set_rotation" tonode="glTF_NODE_Cube.004"></route>
                <timesensor loop="true" cycleinterval="1.7083333333333333" def="glTF_ANIMATION_5_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_5_TIMESENSOR"></timesensor>
                <orientationinterpolator def="glTF_ANIMATION_5_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="LINEAR" duration="1.7083333333333333" key="0, 0.2439024, 0.5121951, 0.7317073, 1" keyvalue="0, 0, 0, 0, 0, 0, -1, 0.7854, 0, 0, -1, 1.5708, 0, 0, -1, 2.35619, 0, 0, -1, 3.141592" id="gltf__glTF_ANIMATION_5_INTERPOLATOR_0">
                </orientationinterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_5_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_5_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_5_INTERPOLATOR_0" tofield="set_rotation" tonode="glTF_NODE_Cube.005"></route>
                <timesensor loop="true" cycleinterval="1.7083333333333333" def="glTF_ANIMATION_6_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_6_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_6_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="STEP" duration="1.7083333333333333" key="0, 0.2682927, 0.4878049, 0.7560976, 1" set_fraction="0" keyvalue="0, 6.66523, 0, 0, 10, 0, 0, 6, 0, 0, 10, 0, 0, 6, 0" id="gltf__glTF_ANIMATION_6_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_6_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_6_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_6_INTERPOLATOR_0" tofield="set_translation" tonode="glTF_NODE_Cube.006"></route>
                <timesensor loop="true" cycleinterval="1.6666666666666667" def="glTF_ANIMATION_7_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_7_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_7_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="CUBICSPLINE" duration="1.6666666666666667" key="0, 0.25, 0.5, 0.75, 1" set_fraction="0" keyvalue="0, 0, 0, 3.30518, 6.64012, 0, 0, 0, 0, 0, 0, 0, 3.30518, 10, 0, 0, 0, 0, 0, 0, 0, 3.30518, 6, 0, 0, 0, 0, 0, 0, 0, 3.30518, 10, 0, 0, 0, 0, 0, 0, 0, 3.30518, 6, 0, 0, 0, 0" id="gltf__glTF_ANIMATION_7_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_7_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_7_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_7_INTERPOLATOR_0" tofield="set_translation" tonode="glTF_NODE_Cube.008"></route>
                <timesensor loop="true" cycleinterval="1.6666666666666667" def="glTF_ANIMATION_8_TIMESENSOR" enabled="true" starttime="0" stoptime="0" pausetime="0" resumetime="0" cycletime="0" elapsedtime="0" fraction_changed="0" isactive="false" ispaused="false" time="0" first="true" firstcycle="0" id="gltf__glTF_ANIMATION_8_TIMESENSOR"></timesensor>
                <positioninterpolator def="glTF_ANIMATION_8_INTERPOLATOR_0" _buffer="interpolation.bin" interpolation="LINEAR" duration="1.6666666666666667" key="0, 0.25, 0.5, 0.75, 1" set_fraction="0" keyvalue="-3.29758, 6.62101, 0, -3.29758, 10, 0, -3.29758, 6, 0, -3.29758, 10, 0, -3.29758, 6, 0" id="gltf__glTF_ANIMATION_8_INTERPOLATOR_0">
                </positioninterpolator>
                <route fromfield="fraction_changed" fromnode="glTF_ANIMATION_8_TIMESENSOR" tofield="set_fraction" tonode="glTF_ANIMATION_8_INTERPOLATOR_0"></route>
                <route fromfield="value_changed" fromnode="glTF_ANIMATION_8_INTERPOLATOR_0" tofield="set_translation" tonode="glTF_NODE_Cube.009"></route>
            </Scene>
        </x3d>
    </body>
</html>
